package com.goodbyegirl1974.cardGameProto.parts
{
	import flash.utils.Dictionary;

	public class Parameter
	{
		private var _attackPoint:Number;
		private var _deffencePoint:Number;
		private var _hpPoint:Number;
		private var _attackDictionary:Dictionary;
		private var _playerKind:String;
		
		/**
		 * コンストラクタ。
		 * 
		 */		
		public function Parameter()
		{
			init();
		}
		
		/**
		 * 現在のプレイヤーの属性を取得。
		 * @return 
		 * 
		 */		
		public function get playerKind():String
		{
			return _playerKind;
		}
		
		/**
		 * 
		 * @param value
		 * 
		 */		
		public function set playerKind(value:String):void
		{
			_playerKind = value;
		}

		/**
		 * 初期化。
		 * 
		 */		
		private function init():void
		{
			_attackDictionary = new Dictionary();
		}
		
		/**
		 * DictionaryにAttackのインスタンスを格納。
		 * @param attack
		 * @param key
		 * 
		 */		
		public function setAttackDictionary(attack:Attack, key:String):void
		{
			this._attackDictionary[key] = attack;
		}
		
		/**
		 * Attackクラスのインスタンスが格納されているディクショナリー。使用可能な攻撃が格納されている。
		 * @return 
		 * 
		 */		
		public function get attackDictionary():Dictionary
		{
			return _attackDictionary;
		}
		
		/**
		 * 
		 * @param value
		 * 
		 */		
		public function set attackDictionary(value:Dictionary):void
		{
			_attackDictionary = value;
		}
		
		/**
		 * 体力の値の取得。
		 * @return 
		 * 
		 */		
		public function get hpPoint():Number
		{
			return _hpPoint;
		}
		
		/**
		 * 
		 * @param value
		 * 
		 */		
		public function set hpPoint(value:Number):void
		{
			_hpPoint = value;
		}
		
		/**
		 * 防御力の取得。
		 * @return 
		 * 
		 */		
		public function get deffencePoint():Number
		{
			return _deffencePoint;
		}
		
		/**
		 * 
		 * @param value
		 * 
		 */		
		public function set deffencePoint(value:Number):void
		{
			_deffencePoint = value;
		}
		
		/**
		 * 攻撃力の取得。
		 * @return 
		 * 
		 */		
		public function get attackPoint():Number
		{
			return _attackPoint;
		}

		public function set attackPoint(value:Number):void
		{
			_attackPoint = value;
		}

	}
}